home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / Mac Stdg 4.4 Folder / Samples / hixtra.c < prev    next >
C/C++ Source or Header  |  1994-01-09  |  2KB  |  65 lines

  1. /*
  2.  * Hello StdgXtra World by Loki
  3.  *
  4.  *  An example program which shows how easy it is to program with stdgxtra.
  5.  *  The example creates a page which has a string on it.
  6.  *  There are 7 library functions and 2 variables used.
  7.  */
  8.  
  9. #include "stdg.h"
  10. #include "stdgxtra.h"
  11.  
  12. /*
  13.  *  The window contains a text field, which is just used to display text.
  14.  */
  15.  
  16. field *f;
  17.  
  18. /*
  19.  *  The resize function is called when a window is resized.
  20.  *  It should recalculate the locations and sizes of all structures.
  21.  */
  22. void resize(window *w)
  23. {
  24.     /*
  25.      * The only structure we have on the window is a text field.
  26.      * The only thing we have to do is make the field the size
  27.      * of the window's bitmap, since we have arranged for the text
  28.      * to be centered both vertically and horizontally.
  29.      */
  30.  
  31.     f->r = w->b->r;
  32. }
  33.  
  34. /*
  35.  *  The main function is where the program begins.
  36.  */
  37. int main(int argc, char **argv)
  38. {
  39.     window *w;
  40.  
  41.     /* Initilise the graphical interface. */
  42.     ginit("Hello StdgXtra World", NULL, NULL);
  43.  
  44.     /* Create a new window which is the size of the screen. */
  45.     w = new_window("Hello Window", rect(0,0,0,0), Titlebar|Maximize|Resize);
  46.  
  47.     /* Link our resize function to the window. */
  48.     set_winfns(w, NULL, &resize, NULL);
  49.  
  50.     /* Create a text field and add it to the window */
  51.     f = new_field(Center+VCenter, w->b->r, sys_font,
  52.                 "Hello, World!", GREY)
  53.  
  54.     add_field(w, f);
  55.  
  56.     /* Display the window on the screen. */
  57.     show_window(w);
  58.  
  59.     /* Now poll for events but do nothing with them. */
  60.     while(1)
  61.         can_event();
  62.  
  63.     return 0;
  64. }
  65.